package com.fastloan.jn.mgt.customermanager.basic.dao;

import com.fastloan.jn.mgt.customermanager.basic.model.JnCustomerManager;
import com.fastloan.jn.mgt.customermanager.basic.model.vo.JnCustomerManagerTree;
import com.fastloan.jn.mgt.customermanager.basic.model.vo.ManagerPerformanceExt;
import com.fastloan.safe.mgt.user.model.CmuUser;
import com.kawins.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface JnCustomerManagerMapper extends BaseMapper<JnCustomerManager> {

    /**
     * 根据机构查询客户经理树
     *
     * @param map -> orgId 机构Id
     * @return 客户经理树
     */
    List<JnCustomerManagerTree> selectCusMgrTreeByOrgId(Map<String,Object> map);

    /**
     * 根据用户Id查询客户经理树
     *
     * @param map -> userId 用户Id
     * @return 客户经理树
     */
    List<JnCustomerManagerTree> selectCusMgrTreeByUserId(Map<String,Object> map);

    /**
     * 根据用户id查询客户经理信息
     *
     * @param userId 用户id
     * @return 客户经理信息
     */
    JnCustomerManagerTree selectByUserId(@Param("userId") String userId);

    /**
     * 查询父用户ids集合
     *
     * @param userId 用户id
     * @return id以,分割
     */
    String selectParentUserIds(@Param("userId") String userId);

    List<String> managerIds(@Param("userId")String userId);

    List<CmuUser> queryOrgManagers(Map<String, Object> map);

    List<ManagerPerformanceExt> queryManagerPerformance(Map<String, Object> map);
}